home *** CD-ROM | disk | FTP | other *** search
/ Aminet 28 / Aminet 28 (1998)(GTI - Schatztruhe)[!][Dec 1998].iso / Aminet / dev / misc / gms_dev.lha / GMSDev / Includes / system / globalbase.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-10-23  |  4.0 KB  |  99 lines

  1. #ifndef SYSTEM_GLOBALBASE_H
  2. #define SYSTEM_GLOBALBASE_H
  3.  
  4. /*
  5. **  $VER: globalbase.h
  6. **
  7. **  Definition of the dpkernel's global variables structure.
  8. **
  9. **  (C) Copyright 1996-1998 DreamWorld Productions.
  10. **      All Rights Reserved
  11. */
  12.  
  13. #ifndef DPKERNEL_H
  14. #include <dpkernel/dpkernel.h>
  15. #endif
  16.  
  17. #ifndef EXEC_LIBRARIES_H
  18.   #ifdef MACHINE_AMIGA
  19.     #include <exec/libraries.h>
  20.   #else
  21.     struct Node {
  22.       struct  Node *ln_Succ;  /* Pointer to next (successor) */
  23.       struct  Node *ln_Pred;  /* Pointer to previous (predecessor) */
  24.       UBYTE   ln_Type;
  25.       BYTE    ln_Pri;         /* Priority, for sorting */
  26.       char    *ln_Name;       /* ID string, null terminated */
  27.     };  /* Note: word aligned */
  28.  
  29.     struct Library {
  30.       struct  Node lib_Node;
  31.       UBYTE   lib_Flags;
  32.       UBYTE   lib_pad;
  33.       UWORD   lib_NegSize;   /* number of bytes before library */
  34.       UWORD   lib_PosSize;   /* number of bytes after library */
  35.       UWORD   lib_Version;   /* major */
  36.       UWORD   lib_Revision;  /* minor */
  37.       APTR    lib_IdString;  /* ASCII identification */
  38.       ULONG   lib_Sum;       /* the checksum itself */
  39.       UWORD   lib_OpenCnt;   /* number of current opens */
  40.     };                       /* Warning: size is not a longword multiple! */
  41.   #endif
  42. #endif
  43.  
  44. /*****************************************************************************
  45. ** All fields in this structure are private.  This file is included in the
  46. ** developers archive for module writers and debugging purposes only.
  47. */
  48.  
  49. struct GVBase {
  50.   struct Library LibNode;
  51.   WORD   ScreenFlip;                /* Private */
  52.   APTR   SegList;                   /* Private */
  53.   LIBPTR ULONG (*DPrintF)(mreg(__a4) BYTE *Header, mreg(__a5) LONG *array);
  54.   WORD   ded3;                      /* Private */
  55.   WORD   OwnBlitter;                /* 0 = FALSE, 1 = TRUE */
  56.   WORD   VBLPosition;               /* Private */
  57.   BYTE   Switch;                    /* Private */
  58.   BYTE   Destruct;                  /* Private */
  59.   LONG   RandomSeed;                /* Random seed */
  60.   WORD   BlitterUsed;               /* 0 = Free, 1 = Grabbed */
  61.   WORD   BlitterPriority;           /* 0 = NoPriority, 1 = Priority */
  62.   struct GScreen *CurrentScreen;    /* Currently displayed screen */
  63.   LONG   Ticks;                     /* Vertical blank ticks counter */
  64.   WORD   HSync;                     /* Private */
  65.   struct SysObject *SysObjects;     /* System object list (master) */
  66.   BYTE   DebugActive;               /* Set if debugger is currently active */
  67.   BYTE   ScrBlanked;                /* Set if screen is currently blanked */
  68.   WORD   Version;                   /* The version of this kernel */
  69.   WORD   Revision;                  /* The revision of this kernel */
  70.   struct SScreen   *ScreenList;     /* List of shown screens, starting from back. */
  71.   struct SysObject *ChildObjects;   /* System object list (hidden & children) */
  72.   struct DPKTask   *SystemTask;     /* System task */
  73.   struct Reference *ReferenceList;  /* List of object references */
  74.   struct Module    *ScreensModule;  /* Pointer to module */
  75.   struct Module    *BlitterModule;  /* Pointer to module */
  76.   struct Module    *FileModule;     /* Pointer to module */
  77.   struct Module    *KeyModule;      /* Pointer to module */
  78.   APTR   ScreensBase;               /* */
  79.   APTR   BlitterBase;               /* */
  80.   APTR   FileBase;                  /* */
  81.   APTR   KeyBase;                   /* */
  82.   struct Module   *SoundModule;     /* Pointer to module */
  83.   APTR   SoundBase;                 /* */
  84.   struct ModEntry *ModList;         /* List of modules */
  85.   struct Event    **EventArray;     /* Event array */
  86.   LONG   FlipSignal;                /* Signal mask */
  87.   struct DPKTask  *UserFocus;       /* Task that currently has the user focus. */
  88.   struct DebugMsg *Debug;           /* Debug routines */
  89.   struct DPKTask  **TaskList;       /* Pointer to an array of all our tasks */
  90.   struct Module   *ConfigModule;    /* Pointer to module */
  91. };
  92.  
  93. struct SScreen {
  94.   struct SScreen *Next;
  95.   struct GScreen *Screen;
  96. };
  97.  
  98. #endif /* SYSTEM_GLOBALBASE_H */
  99.